package 字符串练习;

import java.util.StringJoiner;

//将数组转变成字符串，并一特定形式输出
//StringJoiner：是一个容器，只添加字符类型的数据
public class StringJoiner1 {
    public static void main(String[] args) {
        int[] arr0 = {1, 2, 3, 4};
        //第一位是间隔符，第二位是开头，最后一位是结尾
        StringJoiner sj = new StringJoiner(",", "[", "]");
        StringJoiner sj1 = new StringJoiner(",", "{", "}");
        //例子
        String arr1 = sj.add("aaa").add("bbb").add("ccc").toString();//String自带的方法
        String arr11 = sj1.add("aaa").add("bbb").add("ccc").toString();
        System.out.println(arr1);
        System.out.println(arr11);

        //自定义函数
        System.out.println(my_toString(arr0));
    }

    //自定义方法：将数组转变成字符串，并一特定形式输出
    //示例一:形参不是String字符串类型，则add数据时会报错，需加  +“”
    public static String my_toString(int[] arr) {
        StringJoiner sj = new StringJoiner(",", "[", "]");
        for (int i = 0; i < arr.length; i++) {
            sj.add(arr[i] + "");//arr[i]后面+“”会进行强制类型转换，使add()里面的参数是一个字符串
            //sj.add(arr[i])// 不加“”会报错,因为形参是int整形数组，不是String字符串类型
        }
        String arr1 = sj.toString();
        return arr1;
    }

    //示例二:形参是String字符串类型，则add数据时不会报错
    public static String my_toString(String[] arr) {
        StringJoiner sj = new StringJoiner(",", "[", "]");
        for (int i = 0; i < arr.length; i++) {
            sj.add(arr[i]); //注意没有添加 +""
        }
        String arr1 = sj.toString();
        return arr1;
    }
}
